import org.w3c.dom.NodeList;

import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Scanner;

public class Test1 {

    public static void main(String[] args) {

    }
    public class ListNode {
        int val;
        ListNode next;
        ListNode() {}
        ListNode(int val) { this.val = val; }
        ListNode(int val, ListNode next) { this.val = val; this.next = next; }
    }
    public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
        ListNode head = null;
        ListNode temp = null;
        int carray = 0;
       while (l1 != null || l2 != null) {
           int value1 = l1 == null ? 0 : l1.val;
           int value2 = l2 == null ? 0 : l2.val;
           int sum = value1 + value2 + carray;
           if (head == null) {
               head = new ListNode(sum % 10);
               temp = head;
           } else {
               temp.next = new ListNode(sum % 10);
               temp = temp.next;
           }
           carray = sum / 10;
           if (l1 != null) {
               l1 = l1.next;
           }
           if (l2 != null) {
               l2 = l2.next;
           }
       }
       if (carray > 0) {
           temp.next = new ListNode(carray);
       }
       return head;
    }
}